package com.my.ddd_sample_collections.aggregate_change_tracking.repository;

import com.my.ddd_sample_collections.aggregate_change_tracking.domain.Identity;
import com.my.ddd_sample_collections.aggregate_change_tracking.repository_framework.AggregateRoot;
import com.my.ddd_sample_collections.aggregate_change_tracking.repository_impl.dto.InputDTO;

public interface AggregateRootRepository<Aggregate extends AggregateRoot> {
    Aggregate create(InputDTO input);

    Aggregate load(Identity id);

    void save(Aggregate aggregate);
}
